package com.robertbak.geolocation.interfaces
{
	[Bindable]
	/**
	 * The geographic coordinate reference system used by the attributes in this interface is the World Geodetic System (2d) [WGS84]. 
	 * No other reference system is supported.
	 * @see http://dev.w3.org/geo/api/spec-source.html#coordinates_interface
	 */
	public interface ICoordinates
	{
		/**
		 * The latitude and longitude attributes are geographic coordinates specified in decimal degrees.
		 * @return 
		 */
		function get latitude():Number;
		
		/**
		 * The latitude and longitude attributes are geographic coordinates specified in decimal degrees.
		 * @return 
		 */
		function get longitude():Number;
		
		/**
		 * The altitude attribute denotes the height of the position, specified in meters above the [WGS84] ellipsoid. 
		 * If the implementation cannot provide altitude information, the value of this attribute must be null.
		 * @return 
		 */
		function get altitude():Number;
		
		/**
		 * The accuracy attribute denotes the accuracy level of the latitude and longitude coordinates. 
		 * It is specified in meters and must be supported by all implementations. 
		 * @return 
		 */
		function get accuracy():Number;
		
		/**
		 * The altitudeAccuracy attribute is specified in meters. 
		 * If the implementation cannot provide altitude information, the value of this attribute must be null.
		 * @return 
		 */
		function get altitudeAccuracy():Number;
		
		/**
		 * The heading attribute denotes the direction of travel of the hosting device and is specified in degrees counting clockwise relative to the true north. 
		 * If the implementation cannot provide heading information, the value of this attribute must be null.
		 * @return 
		 */
		function get heading():Number;
		
		/**
		 * The speed attribute denotes the current ground speed of the hosting device and is specified in meters per second. 
		 * If the implementation cannot provide speed information, the value of this attribute must be null.
		 * @return 
		 */
		function get speed():Number;
	}
}